#include<iostream>
using namespace std;
int n;
int a,b;
int elv[210];
int ans=9999;
void dfs(int x,int cnt)
{
    if(cnt>=ans)return;
    if(x==b)
    {
        ans=min(cnt,ans);
        return;
    }
    if(x+elv[x]<=n)
    {
    dfs(x+elv[x],cnt+1);
    }
    if(x-elv[x]>0)
    {
    dfs(x-elv[x],cnt+1);
    }
}

int main()
{
  cin>>n>>a>>b;
  for(int i=1;i<=n;i++)
  {
   scanf("%d",&elv[i]);
  }
  dfs(a,0);
if(ans==9999)
{
    cout<<-1;
}
else
{
    cout<<ans;
}
    return 0;
}